package com.ebs.md.api.deal;

/**
 * Revision Author:
 *  $File: //depot/MarketData/commons-md-api/MAIN/src/main/java/com/ebs/md/api/deal/IDeal.java $
 *  $Revision: #3 $
 *  $DateTime: 2012/08/02 13:14:37 $
 *  $Change: 112868 $
 *  $Author: Arik.Sher $
 */

import java.io.Serializable;
import java.util.Calendar;

import com.ebs.md.api.IProduct;
import com.ebs.md.api.Rate;


public interface IDeal
extends Serializable
{
	public String   getId();       // pk 1#2
	public DealSide getDealSide(); // pk 2#2

	public IProduct getProduct();
	public Rate     getRate();
	public long     getAmount();
	public Calendar getTime();
	public DealSideAction getDealSideAction();

	// this side identifiers
	public Integer  getFirmId();    // can be null, if original value is 0...
	public String   getFloorCode();
	public String   getOrderId();
	
	// CP = CounterParty
	// CP side identifiers
	public Integer  getCPFirmId();  // can be null, if original value is 0...
	public String   getCPFloorCode();
	public String   getCPOrderId();
	
	/**
	 * 
	 * deprecated - instead, use getCPOrderId()
	 */
	@Deprecated
	public String   getOtherSideOrderId();
	
}
